1. Field of the Invention
The present invention relates to a network switching device and a network switching method which are arranged to transfer packets among a plurality of networks, and more particularly to the store & forward system network switching device and network switching method which are arranged to allow transfer control to be executed depending on the priority of packets.
2. Description of the Related Art
A network switching device has been often used for connecting lots of networks as in the Internet or the like. In particular, the frequently used switching system is a store & forward system which is arranged to temporarily store received packets in an internal buffer and then transfer those packets to a destination port. In the store & forward system network switching device, it is general that the packets to be transmitted are controlled as a listed queue for each destination port, the listed queues being linked with each other by a pointer. For example, the packet switch for controlling the listed queue created in a buffer memory has been conventionally proposed as follows.
This packet switch operates to write a variable-length packet received from each input line in a common buffer memory at a fixed-length data block unit. When writing the packet, a buffer controller creates an input queue for each input line and then links the linked address list of each input queue with an output queue matched to a transfer destination output line after registering the last data block of the variable-length packet in the input queue. Each input queue is created by storing the write address of the next fixed-length data block in the next address memory. Further, each output queue is composed of a next read address for indicating a data block to be read out and an address table for storing the last read address for indicating the last data block. The input queue control module of the buffer controller operates to transfer the write address of the head data block of each variable-length packet and the write address of the last data block to the next read address and the last read address of the address table matched to each transfer destination output line. This operation completes the input queue link with the output queue. Further, in a case that the last read address of the preceding variable-length packet has been already registered in the output queue, the operation is executed to extract the write address of the head data block of the following variable-length packet from the next address memory and then link the extracted address with the last read address. The foregoing control makes it possible to enhance the using efficiency of the buffer memory as well as speed up the switching operation. For example, refer to Japanese Unexamined Patent Publication No. 2002-152247 (paragraph numbers [0025] to [0040], FIG. 3).
In the meantime, the information to be communicated through the network may be roughly divided into the information the quality of which is required to be kept constant or more and the information the quality of which is permitted to be degraded. For example, therefore, it is considered the case that the multileveled priority classes are defined so that those priority classes may be assigned to the packets to be communicated according to the attribute (transmit source address or the like) of each packet. In this case, the network switching device enables to transfer the packets in sequence of their assigned priority classes, which makes it possible to transfer a packet of a higher priority class more reliably.
The store & forward system network switching device ordinarily operates to determine the destination of the received packet, link the received packet with the packet queue created for each destination (each output port), read the packets from these queues, and then send out the read packets. In a case that the received packets are assigned their respective priorities and the priority control for the received packets is executed, the operation is executed to create the same number of queues as the priority classes for each output port, link the received packets distributed for each priority class with the queue of the corresponding priority class, and send out the packets in higher sequence of the priority classes assigned to their linked queues. This operation realizes the priority control.
As representative information of higher priority, for example, voice data or time-varying image data may be referred. For supporting the communications of information to be transferred on real time as much as possible, it is necessary to shorten the delay time caused by the relay operation involved in the network switching device as much as possible. However, even the network switching device-provided with the priority control function may discard even the packets of the high priorities assigned thereto, for example, if congestion of traffics for the same priority class of the same output port takes place.
Under those circumstances, the packet switch which may reduce the relay-related delay time of the packets of higher priorities has been conventionally proposed as follows. This packet switch is arranged to convert the variable-length packet received from the input line into the fixed-length cell through the corresponding input line interface, cause its switch module to execute the cell-based switching, convert the output cell from the switch module into the original variable-length packet through the corresponding output line interface, and then send out the converted packet onto the output line. Each input line interface is characterized to have a control module for queuing the fixed-length cells converted from the received variable-length packets according to the priorities of each output line and selectively outputting the cells accumulated in each queue according to their priorities.
This packet switch may be often inputted with a plurality of packets destined for a specific output port from a plurality of input lines in a time-overlapped manner. If the accumulation of the cells destined for the specific output port exceeds a predetermined threshold value, a notice for congestion is reported to each input line interface. In response to the notice, the input line interface, which is sending out the cells destined for the specific output port, suppresses the transmission of the cells selectively in lower sequence of their priorities. This operation allows too much increase of the congestion to be avoided and thereby makes it possible to transfer the packets of higher priorities to the output line without having to greatly delay the transfer. For example, refer to Japanese Unexamined Patent Publication No. 2000-151633 (paragraph numbers [0012]) to [0018], FIG. 1).
In the foregoing store & forward system network switching device, ordinarily, the packet queue formed for each destination is stored in the buffer of a finite size sectioned physically or logically. Moreover, the network switching device provided with the priority control function often includes packet queues created respectively for priority classes. In this type of network switching device, if traffics destined for a specific priority class are concentrated in a certain output port, congestion may take place in the queue where the traffics are concentrated even though some capacity is left in the queue of another priority class for the same output port. In order to avoid this congestion, for example, it is necessary to secure a sufficient amount of buffer for the queue of each priority class. In this case, however, as disadvantages, the using efficiency of the memory is made lower and thereby the memory parts are made more costly with increase of the memory capacity.
In the packet switch disclosed in the foregoing Official Gazette of Japanese Unexamined Patent Publication No. 2000-151633, the queue of each priority class may be created in the buffer memory located in the switch module and the output buffer memory located in the output line interface. Each buffer memory takes a common buffer structure in which the queue of a priority class uses an empty storage area commonly with the queue of another priority class, for the purpose of making an effective use of the memory capacity. For this purpose, however, both of the switch module and the output line interface require the buffer control as managing the linked lists prepared respectively for the output lines and the priority classes, which results in disadvantageously making the process more complicated and enhancing the cost. Further, this packet switch is arranged on the assumption that the received packet is converted into the fixed-length cell before the packet is treated. This also, as before, disadvantageously makes the process more complicated and enhances the cost.